interface _CF_ {
    /** 常用函数实现 */
    fn: {
        /** 无 返回值 的方法 */
        void: Tfunction<any>,
        /** 返回 false 的方法 */
        false: Tfunction<any>,
        /** 返回 true 的方法 */
        true: Tfunction<any>,
        /** 返回 DEFAULT 的方法 */
        default: Tfunction<any>,
        /** 返回 'DEFAULT' 的方法 */
        defaultValue: Tfunction<any>,
        /** 返回 第一个参数本身 的方法 */
        obj: Tfunction<any>,
        /** 返回 this 的方法 */
        this: Tfunction<any>,
        /** 返回 String() 的方法 */
        String: Tfunction<any>,
        /** 返回 'str' 的方法 */
        stringValue: Tfunction<any>,
        /** 返回 '' 的方法 */
        emptyStringValue: Tfunction<any>,
        /** 返回 空对象 的方法 */
        emptyObj: Tfunction<any>,
        /** 返回 空对象字符串 的方法 */
        emptyObjValue: Tfunction<any>,
        /** 返回 Object.create(null) 的方法 */
        nullObj: Tfunction<any>,
        /** 返回 'Object.create(null)' 的方法 */
        nullObjValue: Tfunction<any>,
        /** 返回 'RegExp('foo')' 的方法 */
        RegExpWrap: Tfunction<any>,
    },
}
{
    Object.defineProperty(_CF_.prototype, 'fn', {
        writable: false,
        configurable: false,
        enumerable: false,
        value: {
            void: () => { },
            false: () => { return false; },
            true: () => { return true; },
            default: () => { return DEFAULT; },
            defaultValue: () => { return 'DEFAULT'; },
            obj: (obj: any) => { return obj; },
            this: function (this: any) { return this; },
            String: (obj: any) => { return String(obj); },
            stringValue: (obj: any) => { return `"${obj}"`; },
            emptyStringValue: () => { return ''; },
            emptyObj: () => { return {}; },
            emptyObjValue: () => { return '{}'; },
            nullObj: () => { return Object.create(null); },
            nullObjValue: () => { return 'Object.create(null)'; },
            RegExpWrap: (obj: any) => { return `RegExp(/${obj.source}/)`; },
        }
    });
}
